


//class Solution {
//    public String minWindow(String s, String t) {
//        if (t.length() > s.length()) return "";
//        int[] hashS = new int[126];
//        int[] hashT = new int[126];
//        for (int i = 0; i < t.length(); i++) {
//            hashT[t.charAt(i)]++;
//        }
//        int start = -1, len = Integer.MAX_VALUE;
//        for (int left = 0, right = 0, count = 0; right < s.length(); right++) {
//            char ch = s.charAt(right);
//            hashS[ch]++;
//            if (hashS[ch] <= hashT[ch]) count++;
//            while (left <= right && count == t.length()) {
//                if (right - left + 1 < len) {
//                    start = left;
//                    len = right - left + 1;
//                }
//                char c = s.charAt(left);
//                if (hashS[c] <= hashT[c]) count--;
//                hashS[c]--;
//                left++;
//            }
//        }
//        return len == Integer.MAX_VALUE ? "" : s.substring(start, start + len);
//    }
//}